package com.union.core.sys.service;

import java.util.List;
import com.union.core.sys.dao.SysModuleDao;
import com.union.core.sys.dao.SysModuleTypeDao;
import com.union.core.sys.dao.impl.SysModuleDaoImpl;
import com.union.core.sys.dao.impl.SysModuleTypeDaoImpl;
import com.union.core.sys.model.SysModuleType;
import org.apache.log4j.Logger;

/**
 * 业务逻辑处理类:系统模块类型
 * filename: SysModuleTypeService.java
 * project:  CCTR
 * @company Hainan Jowe Technology Ltd
 * @author wangxiuwu
 * @create in 2009-5-21
 * @version 1.0
 */
public class SysModuleTypeService{
	
	private static Logger log = Logger.getLogger(SysModuleTypeService.class.getName());
	private SysModuleTypeDao sysModuleTypeDaoImpl;
	private SysModuleDao sysModuleDaoImpl;
	
	public SysModuleTypeService(){
		sysModuleTypeDaoImpl = new SysModuleTypeDaoImpl();
		sysModuleDaoImpl = new SysModuleDaoImpl();
	}
	
	public SysModuleType queryInfo(int moduleTypeId){
    	SysModuleType sysModuleType = sysModuleTypeDaoImpl.getModuleType(moduleTypeId);
    	log.info("提取系统模块类型详情: "+sysModuleType.getMODULE_TYPE_NAME());
    	return sysModuleType;
	}
	
	public List<SysModuleType> queryAll(){
		List<SysModuleType> moduletypeList = sysModuleTypeDaoImpl.getModuleTypeList();
		log.info("查询系统模块类型列表");
		return moduletypeList;
	}
	
	public void add(SysModuleType sysModuleType){
		int orderNum = sysModuleTypeDaoImpl.getOrderNumByAuto_moduleType();
		sysModuleType.setORDER_NUM(orderNum);
		sysModuleTypeDaoImpl.addModuleType(sysModuleType);
		log.info("添加系统模块类型: "+ sysModuleType.getMODULE_TYPE_NAME());
	}
	
	public void modify(int moduleTypeId,String moduleTypeName,int state){
		sysModuleTypeDaoImpl.modifyModuleType(moduleTypeId, moduleTypeName, state);
		log.info("修改系统模块类型: "+moduleTypeId+":"+moduleTypeName);
	}
	
	public void delete(int moduleTypeId){
			//1、删除类型
			sysModuleTypeDaoImpl.deleteModuleType(moduleTypeId);
			
			//2、删除类型所属类型的信息
			sysModuleDaoImpl.deleteModuleEx(moduleTypeId);
			
			log.info("删除系统模块类型及所属所有信息成功: "+moduleTypeId);
	}
	
	public void order(int moduleTypeId, String ordertype){
		try{
			sysModuleTypeDaoImpl.orderModuleType(moduleTypeId, ordertype);
		}catch(Exception ex){}
		log.info("排序系统模块类型: "+moduleTypeId);
	}
	
	public void modifySTATUS(int moduleTypeId,int status){
		sysModuleTypeDaoImpl.modifyModuleType(moduleTypeId, status);
		log.info("修改系统模块类型状态: "+moduleTypeId +" : "+status);
	}

}
